package cn.huiyunche.base.service.interfaces;

import cn.huiyunche.base.service.model.DWaybillApplyResult;

import java.util.List;

/**
 * The interface D waybill apply result service.
 *
 * @FileName: cn.huiyunche.app.service.interfaces
 * @Description: 分供方运单申请记录
 * @author: Aaron
 * @date: 2016 /12/26 下午2:53
 */
public interface DWaybillApplyResultService {

    /**
     * Add long.
     *
     * @param result the result
     * @return the long
     */
    Long add(DWaybillApplyResult result);

    /**
     * Update long.
     *
     * @param result the result
     * @return the long
     */
    Long update(DWaybillApplyResult result);

    /**
     * Is exceeded the daily maximum boolean.
     * 查询线路每天申请的运单总数
     *
     * @param userId         the user id
     * @param isApplySuccess the is apply success
     * @param reouteId       the reoute id
     * @return the boolean
     */
    Long totalOfApply(Long userId, Boolean isApplySuccess, Long reouteId);

    /**
     * Gets list by is apply success.
     *
     * @param isApplySuccess the is apply success
     * @param routeId        the route id
     * @param userId         the user id
     * @return the list by is apply success
     */
    List<DWaybillApplyResult> getListByIsApplySuccess(boolean isApplySuccess, Long routeId, Long userId);
}
